package com.settlement.system.model.entity.common;

import java.math.BigDecimal;
import java.util.Date;
import java.io.Serializable;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 爱库存-在途售后
 * @author Ximi
 * @since 2020-07-14
 */
@Data
@ExcelIgnoreUnannotated
@HeadStyle(fillBackgroundColor = 9,fillForegroundColor = 9)
@HeadRowHeight(value = 20)
@HeadFontStyle(fontHeightInPoints = 14)
public class TblAkcTransportAfterSale extends BaseModel implements Serializable {


    /**
     * 序号
     */
    @ExcelProperty(value = "序号")
    @ApiModelProperty(value = "序号",required = true)
    @NotNull(message = "序号不能为空")
    private Integer serialNumber;

    /**
     * 活动ID
     */
    @ExcelProperty(value = "活动ID")
    @ApiModelProperty(value = "活动ID",required = true)
    @NotNull(message = "活动ID不能为空")
    private String actionId;

    /**
     * 店铺编码
     */
    @ExcelProperty(value = "店铺编码")
    @ApiModelProperty(value = "店铺编码",required = true)
    @NotNull(message = "店铺编码不能为空")
    private String shopNo;

    /**
     * 店铺名称
     */
    @ExcelProperty(value = "店铺名称")
    @ApiModelProperty(value = "店铺名称")
    private String shopName;

    /**
     * 售后单号
     */
    @ExcelProperty(value = "售后单号")
    @ApiModelProperty(value = "售后单号",required = true)
    @NotNull(message = "售后单号不能为空")
    private String saleAfterNo;

    /**
     * 对账单号
     */
    @ExcelProperty(value = "对账单号")
    @ApiModelProperty(value = "对账单号")
    private String checkAccountNo;

    /**
     * 用户上传快递单号
     */
    @ExcelProperty(value = "用户上传快递单号")
    @ApiModelProperty(value = "用户上传快递单号")
    private String transportNo;

    /**
     * 用户上传快递公司
     */
    @ExcelProperty(value = "用户上传快递公司")
    @ApiModelProperty(value = "用户上传快递公司")
    private String transportCompany;

    /**
     * 品牌
     */
    @ExcelProperty(value = "品牌")
    @ApiModelProperty(value = "品牌")
    private String brand;

    /**
     * 颜色
     */
    @ExcelProperty(value = "颜色")
    @ApiModelProperty(value = "颜色")
    private String color;

    /**
     * 条码
     */
    @ExcelProperty(value = "条码")
    @ApiModelProperty(value = "条码")
    private String barcode;

    /**
     * 尺寸
     */
    @ExcelProperty(value = "尺寸")
    @ApiModelProperty(value = "尺寸")
    private String sizeNo;

    /**
     * 款式
     */
    @ExcelProperty(value = "款式")
    @ApiModelProperty(value = "款式")
    private String styleNo;

    /**
     * 活动名称
     */
    @ExcelProperty(value = "活动名称")
    @ApiModelProperty(value = "活动名称",required = true)
    @NotNull(message = "活动名称不能为空")
    private String actionName;

    /**
     * 活动开始时间
     */
    @ExcelProperty(value = "活动开始时间")
    @ApiModelProperty(value = "活动开始时间")
    @JsonFormat(pattern="yyyy/MM/dd HH:mm:ss",timezone = "GMT+8")
    private Date actionStartDate;

    /**
     * 活动结束时间
     */
    @ExcelProperty(value = "活动结束时间")
    @ApiModelProperty(value = "活动结束时间")
    @JsonFormat(pattern="yyyy/MM/dd HH:mm:ss",timezone = "GMT+8")
    private Date actionEndDate;

    /**
     * 商品名称
     */
    @ExcelProperty(value = "商品名称")
    @ApiModelProperty(value = "商品名称")
    private String itemName;

    /**
     * 商品描述
     */
    @ExcelProperty(value = "商品描述")
    @ApiModelProperty(value = "商品描述")
    private String itemDesc;

    /**
     * 二级订单号
     */
    @ExcelProperty(value = "二级订单号")
    @ApiModelProperty(value = "二级订单号")
    private String secondOrderNo;

    /**
     * 三级订单号
     */
    @ExcelProperty(value = "三级订单号")
    @ApiModelProperty(value = "三级订单号")
    private String thridOrderNo;

    /**
     * 售后补偿货款
     */
    @ExcelProperty(value = "售后补偿货款")
    @ApiModelProperty(value = "售后补偿货款")
    private String compensateAfterSaleAmount;

    /**
     * 发货单号
     */
    @ExcelProperty(value = "发货单号")
    @ApiModelProperty(value = "发货单号",required = true)
    @NotNull(message = "发货单号不能为空")
    private String sendItemNo;

    /**
     * 申请时间
     */
    @ExcelProperty(value = "申请时间")
    @ApiModelProperty(value = "申请时间")
    @JsonFormat(pattern="yyyy/MM/dd HH:mm:ss",timezone = "GMT+8")
    private Date applyDate;

    /**
     * 数量
     */
    @ExcelProperty(value = "数量")
    @ApiModelProperty(value = "数量")
    private Integer qty;

    /**
     * 预扣货款价
     */
    @ExcelProperty(value = "预扣货款价")
    @ApiModelProperty(value = "预扣货款价",required = true)
    @NotNull(message = "预扣货款价不能为空")
    private BigDecimal reservePayAmount;

    /**
     * 瑕疵补偿费
     */
    @ExcelProperty(value = "瑕疵补偿费")
    @ApiModelProperty(value = "瑕疵补偿费")
    private BigDecimal flawCompensateAmount;

    /**
     * 运费
     */
    @ExcelProperty(value = "运费")
    @ApiModelProperty(value = "运费")
    private BigDecimal transportAmount;

    /**
     * 商家审核时间
     */
    @ExcelProperty(value = "商家审核时间")
    @ApiModelProperty(value = "商家审核时间")
    @JsonFormat(pattern="yyyy/MM/dd HH:mm:ss",timezone = "GMT+8")
    private Date merchantAuditDate;

    /**
     * 商家审核人
     */
    @ExcelProperty(value = "商家审核人")
    @ApiModelProperty(value = "商家审核人")
    private String merchantAuditUser;

    /**
     * 在途售后状态
     */
    @ExcelProperty(value = "在途售后状态")
    @ApiModelProperty(value = "在途售后状态")
    private String transportingStatus;

    /**
     * 返还金额
     */
    @ExcelProperty(value = "返还金额")
    @ApiModelProperty(value = "返还金额")
    private BigDecimal returnAmount;

    /**
     * 提现日期
     */
    @ExcelProperty(value = "提现日期")
    @ApiModelProperty(value = "提现日期",hidden = true)
    private Date outDate;

    /**
     * 机器人确认时间
     */
    @ExcelProperty(value = "机器人确认时间")
    @ApiModelProperty(value = "回款单价(单位:元)",hidden = true)
    private Date robotComfirmDate;

}
